home *** CD-ROM | disk | FTP | other *** search
/ Graphics Plus / Graphics Plus.iso / x / gui / xfract.lha / xfract / xlmntn.h < prev    next >
Encoding:
C/C++ Source or Header  |  1990-06-27  |  2.5 KB  |  72 lines

  1. /*****************************************************************************
  2. /* FILE        : xlmntn.h
  3. /* AUTHOR    : Paul Sharpe @ DEC (OSCR-Europe, Reading, England).
  4. /* DATE        : July 20, 1989
  5. /* FUNCTION    : X-windows Fractal Brownian-Motion mountains.
  6. /* INSPIRATION    : 'The Science Of Fractal Images.'
  7. /*
  8. /*   Copyright (c) Digital Equipment Corporation 1990  All rights reserved.
  9. /*   Copyright is claimed in the computer program and user interface thereof.
  10. /*
  11. /*   Digital Equipment Corporation cannot accept any responsibility for
  12. /*   use, misuse, or abuse of this software.
  13. /*
  14. /*****************************************************************************/
  15.  
  16. /*****************************************/
  17. /* CONFIGURE THIS SECTION AS REQUIRED... */
  18. /*****************************************/
  19.  
  20. #define FNTFILE         "fg-18"
  21. #define PROGTITLE    "Xlmntn"
  22.  
  23. /* The argument list processing structure... */
  24. #define NUMARGS    16
  25. struct opts    args[NUMARGS] = {
  26. {"-display",    "-ds", "",        "-display serverstring"},
  27. {"-foreground", "-fg", "white",        "-foreground colour"},
  28. {"-background", "-bg", "red",        "-background colour"},
  29. {"-textfg",      "-tf", "white",        "-textfg  colour"},
  30. {"-textbg",      "-tb", "blue",        "-textbg  colour"},
  31. {"-seacolour",  "-sc", "blue",        "-seacolour  colour"},
  32. {"-mntncolour", "-mc", "forestgreen",    "-mntncolour colour"},
  33. {"-numcolours", "-nc", "50",        "-numcolours integer"},
  34. {"-colours",    "-cl", "g",        "-colours r|g|b"},
  35. {"-fontfile",    "-fn", FNTFILE,        "-fontfile fontfile"},
  36. {"-H",        "-hg", "0.9",        "-H double"},
  37. {"-scale",     "-sl", "2.5",        "-scale double"},
  38. {"-level",    "-lv", "7",        "-level integer[3-~8]"},
  39. {"-mntndistance","-md", "100",        "-mntndistance integer"},
  40. {"-scrndistance","-sd", "500",        "-scrndistance integer"},
  41. {"-height",    "-ht", "120",        "-height  integer"},
  42. };
  43.  
  44. /*****************************************/
  45. /* END OF CONFIGURATION SECTION...       */
  46. /*****************************************/
  47.  
  48. #define PNTS(i,px,py)    {pnts[(i)].x=(px);pnts[(i)].y=(py);}
  49. #define PIXELX(x,y)    ((((x)-square/2)*scrndist)/(mntndist+(y))+(screenwidth/2))
  50. #define    PIXELY(x,y,e)    (zeroy - ((e)-obsheight)*scrndist/(mntndist+(y)))
  51.  
  52. char    *progtitle = PROGTITLE;
  53. char    *bckgrnd   = BCKGRND;
  54. char    *iconfile  = ICONFILE;
  55.  
  56. int     zeroy;
  57. int     obsheight;
  58. int    scrndist, mntndist;
  59.  
  60. extern int    screenwidth, screenheight;
  61. extern int    square, yscale;
  62. extern struct mntn {
  63.     double      **elevs;
  64.     int         **px;
  65.     int         **py;
  66. } mntndata;
  67. extern int    basey;
  68. extern Window    wndw;
  69. extern GC    maingc, seagc;
  70. extern Display    *dsply;
  71. extern long    mc;
  72.